package com.sylli.oeuf.server.exception;

import java.io.Serializable;

public enum ExceptionCause implements Serializable {
	// Naming convention
	// [Application Domain][Cause]
	TypeMarshallingFail("Type marshalling failed."),
	AssertionFail("Assertion Failed with the condition."),
	AuthenObjectNotFound("Authentication object is not found."),
	AudioMetaTagRipFail("Failed during extract meta data"),
	UnexpectedValues("Unexpected values"),
//	DatabaseQueryNotMatch("Query returns empty result."),
	DatabaseQueryFail("Failed during query database"),
	DatabaseEntryAccessingFail("Failed during reading database"),
	DatabaseEntryCreationFail("Failed during writing database"),
	DatabaseEntryUpdateFail("Failed during updating database"),
	DatabaseExecuteFail("Failed during execution database"),
	DatabaseTeardownFail("Failed to close database connection"),
	DatabaseConnectionFail("Failed to connect the database."),
	FileIOFail("Failed during attempt to manipulate system file.");
	
	private String cause;
	
	ExceptionCause(String _cause) {
		cause = _cause;
	}
	
	public String toString() {
		return cause;
	}
}
